<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>IDA SDK: netnode Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">IDA SDK
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="files.html"><span>Header&#160;Files</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classnetnode-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">netnode Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Definition of the IDA database node. </p>
<p>Note that the size of the 'netnode' class is 4 bytes and it can be freely casted to 'uint32' and back. This makes it easy to store information about the program location in the netnodes. Please pass netnodes to functions by value. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors, conversions and assignments</div></td></tr>
<tr class="memitem:a87b9bf7c4d490d4a3846a170a09a1df5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87b9bf7c4d490d4a3846a170a09a1df5"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a87b9bf7c4d490d4a3846a170a09a1df5">netnode</a> (void)</td></tr>
<tr class="memdesc:a87b9bf7c4d490d4a3846a170a09a1df5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor. <br /></td></tr>
<tr class="separator:a87b9bf7c4d490d4a3846a170a09a1df5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c9f14edd6e05f462e50f83e3e311fae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c9f14edd6e05f462e50f83e3e311fae"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a7c9f14edd6e05f462e50f83e3e311fae">netnode</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> num)</td></tr>
<tr class="memdesc:a7c9f14edd6e05f462e50f83e3e311fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor to create a netnode to access information about the specified linear address. <br /></td></tr>
<tr class="separator:a7c9f14edd6e05f462e50f83e3e311fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d8aed3db1aad4a1e8787dffee18f338"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d8aed3db1aad4a1e8787dffee18f338"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a1d8aed3db1aad4a1e8787dffee18f338">operator nodeidx_t</a> () const </td></tr>
<tr class="memdesc:a1d8aed3db1aad4a1e8787dffee18f338"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conversion from netnode to linear address. <br /></td></tr>
<tr class="separator:a1d8aed3db1aad4a1e8787dffee18f338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bce30734bdec4cb4f50fd5608dd72d4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a2bce30734bdec4cb4f50fd5608dd72d4">netnode</a> (const char *_name, size_t namlen=0, bool do_create=false)</td></tr>
<tr class="memdesc:a2bce30734bdec4cb4f50fd5608dd72d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an instance of netnode class to access the specified netnode.  <a href="#a2bce30734bdec4cb4f50fd5608dd72d4">More...</a><br /></td></tr>
<tr class="separator:a2bce30734bdec4cb4f50fd5608dd72d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Create/Delete</div></td></tr>
<tr><td colspan="2"><div class="groupText"><dl class="section note"><dt>Note</dt><dd>You can check if a netnode already exists with <a class="el" href="classnetnode.html#a6c982ef0a40d0d855ae2eef98aa6cbd8" title="Does the specified netnode exist?. ">exist()</a> </dd></dl>
</div></td></tr>
<tr class="memitem:ac384a479be1e5b1d5cbd4b305a77bd1d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ac384a479be1e5b1d5cbd4b305a77bd1d">create</a> (const char *_name, size_t namlen=0)</td></tr>
<tr class="memdesc:ac384a479be1e5b1d5cbd4b305a77bd1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a named netnode.  <a href="#ac384a479be1e5b1d5cbd4b305a77bd1d">More...</a><br /></td></tr>
<tr class="separator:ac384a479be1e5b1d5cbd4b305a77bd1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8106a7da9e25c8df5e02cd62e91c1111"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a8106a7da9e25c8df5e02cd62e91c1111">create</a> (void)</td></tr>
<tr class="memdesc:a8106a7da9e25c8df5e02cd62e91c1111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create unnamed netnode.  <a href="#a8106a7da9e25c8df5e02cd62e91c1111">More...</a><br /></td></tr>
<tr class="separator:a8106a7da9e25c8df5e02cd62e91c1111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adff0f5ec77bf7e1ae625885bc973fae5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adff0f5ec77bf7e1ae625885bc973fae5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#adff0f5ec77bf7e1ae625885bc973fae5">kill</a> (void)</td></tr>
<tr class="memdesc:adff0f5ec77bf7e1ae625885bc973fae5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a netnode with all information attached to it. <br /></td></tr>
<tr class="separator:adff0f5ec77bf7e1ae625885bc973fae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Netnode names</div></td></tr>
<tr class="memitem:af3b9ee2b9abc36533baa871856d45cf4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#af3b9ee2b9abc36533baa871856d45cf4">get_name</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf) const </td></tr>
<tr class="memdesc:af3b9ee2b9abc36533baa871856d45cf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the netnode name.  <a href="#af3b9ee2b9abc36533baa871856d45cf4">More...</a><br /></td></tr>
<tr class="separator:af3b9ee2b9abc36533baa871856d45cf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a488aa5c55e53b8373e66d554b29945ea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a488aa5c55e53b8373e66d554b29945ea">rename</a> (const char *newname, size_t namlen=0)</td></tr>
<tr class="memdesc:a488aa5c55e53b8373e66d554b29945ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rename a netnode.  <a href="#a488aa5c55e53b8373e66d554b29945ea">More...</a><br /></td></tr>
<tr class="separator:a488aa5c55e53b8373e66d554b29945ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Value of netnode</div></td></tr>
<tr class="memitem:a115325cefc096a44e867e6ef21e19a11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a115325cefc096a44e867e6ef21e19a11">valobj</a> (void *buf, size_t bufsize) const </td></tr>
<tr class="memdesc:a115325cefc096a44e867e6ef21e19a11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get value of netnode.  <a href="#a115325cefc096a44e867e6ef21e19a11">More...</a><br /></td></tr>
<tr class="separator:a115325cefc096a44e867e6ef21e19a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac38caa768bdd8c587f3ccae9b67b0c3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ac38caa768bdd8c587f3ccae9b67b0c3e">valstr</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf) const </td></tr>
<tr class="memdesc:ac38caa768bdd8c587f3ccae9b67b0c3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get string value of netnode.  <a href="#ac38caa768bdd8c587f3ccae9b67b0c3e">More...</a><br /></td></tr>
<tr class="separator:ac38caa768bdd8c587f3ccae9b67b0c3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2782958fbe71c8923a945fcf1c2df2e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a2782958fbe71c8923a945fcf1c2df2e0">valstr</a> (char *buf, size_t bufsize) const </td></tr>
<tr class="separator:a2782958fbe71c8923a945fcf1c2df2e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a275c5c24c24eac6ce8a6a758c6b99efb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a275c5c24c24eac6ce8a6a758c6b99efb">set</a> (const void *value, size_t length=0)</td></tr>
<tr class="memdesc:a275c5c24c24eac6ce8a6a758c6b99efb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set value of netnode.  <a href="#a275c5c24c24eac6ce8a6a758c6b99efb">More...</a><br /></td></tr>
<tr class="separator:a275c5c24c24eac6ce8a6a758c6b99efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abac449a9625ff3f69252f27690b2be48"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#abac449a9625ff3f69252f27690b2be48">delvalue</a> (void)</td></tr>
<tr class="memdesc:abac449a9625ff3f69252f27690b2be48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete value of netnode.  <a href="#abac449a9625ff3f69252f27690b2be48">More...</a><br /></td></tr>
<tr class="separator:abac449a9625ff3f69252f27690b2be48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64ae447ad8cf8f3a1d5b38c282f54674"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a64ae447ad8cf8f3a1d5b38c282f54674"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a64ae447ad8cf8f3a1d5b38c282f54674">set_long</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> x)</td></tr>
<tr class="memdesc:a64ae447ad8cf8f3a1d5b38c282f54674"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value of netnode as a long number: <br /></td></tr>
<tr class="separator:a64ae447ad8cf8f3a1d5b38c282f54674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa27eb23e0e4b539ba4ce1ac00771182"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa27eb23e0e4b539ba4ce1ac00771182"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>value_exists</b> (void) const </td></tr>
<tr class="separator:aaa27eb23e0e4b539ba4ce1ac00771182"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ba9bfa02d2860dbf98bb8b380366a25"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ba9bfa02d2860dbf98bb8b380366a25"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>long_value</b> (void) const </td></tr>
<tr class="separator:a4ba9bfa02d2860dbf98bb8b380366a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Arrays of altvals.</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>altvals: a sparse array of 32-bit values.</p>
<p>indexes in this array may be 8-bit or 32-bit values </p>
</div></td></tr>
<tr class="memitem:a54c7d588ef352546dc70080a34e34b0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a54c7d588ef352546dc70080a34e34b0e">altval</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>) const </td></tr>
<tr class="memdesc:a54c7d588ef352546dc70080a34e34b0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get altval element of the specified array.  <a href="#a54c7d588ef352546dc70080a34e34b0e">More...</a><br /></td></tr>
<tr class="separator:a54c7d588ef352546dc70080a34e34b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43f413b1f232b84a056d6590381ba448"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a43f413b1f232b84a056d6590381ba448"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>altval_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>) const </td></tr>
<tr class="separator:a43f413b1f232b84a056d6590381ba448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ce81ff84f2365815c81f6fce22c4c72"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a6ce81ff84f2365815c81f6fce22c4c72">altset</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> value, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>)</td></tr>
<tr class="memdesc:a6ce81ff84f2365815c81f6fce22c4c72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set value of altval array.  <a href="#a6ce81ff84f2365815c81f6fce22c4c72">More...</a><br /></td></tr>
<tr class="separator:a6ce81ff84f2365815c81f6fce22c4c72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb0710c300407bed853cdb1a8323b337"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb0710c300407bed853cdb1a8323b337"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>altset_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> value, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>)</td></tr>
<tr class="separator:afb0710c300407bed853cdb1a8323b337"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4bd3720edfbc6ae77de792c9e72473d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#af4bd3720edfbc6ae77de792c9e72473d">altdel</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>)</td></tr>
<tr class="memdesc:af4bd3720edfbc6ae77de792c9e72473d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete element of altval array.  <a href="#af4bd3720edfbc6ae77de792c9e72473d">More...</a><br /></td></tr>
<tr class="separator:af4bd3720edfbc6ae77de792c9e72473d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2a349f37f13a4eb147fb6dbb4f2b447"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2a349f37f13a4eb147fb6dbb4f2b447"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>altdel_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>)</td></tr>
<tr class="separator:ac2a349f37f13a4eb147fb6dbb4f2b447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac50e98f884a348b1ce6e507d2a4d5936"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ac50e98f884a348b1ce6e507d2a4d5936">easet</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> addr, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:ac50e98f884a348b1ce6e507d2a4d5936"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store/retrieve/delete an address value in the netnode that corresponds to an address.  <a href="#ac50e98f884a348b1ce6e507d2a4d5936">More...</a><br /></td></tr>
<tr class="separator:ac50e98f884a348b1ce6e507d2a4d5936"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a16dbc4a59e3b9a74f06523af29d450"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a16dbc4a59e3b9a74f06523af29d450"></a>
<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>eaget</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a3a16dbc4a59e3b9a74f06523af29d450"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f4d27b5e4c96ab661949580c264ca7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f4d27b5e4c96ab661949580c264ca7d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>eadel</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a1f4d27b5e4c96ab661949580c264ca7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74e8cf1d772e9ea1bd9d60db103d23ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74e8cf1d772e9ea1bd9d60db103d23ae"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>easet_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> idx, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> addr, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a74e8cf1d772e9ea1bd9d60db103d23ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14913436021ae5ebcf17356550fe5bd9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14913436021ae5ebcf17356550fe5bd9"></a>
<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>eaget_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> idx, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a14913436021ae5ebcf17356550fe5bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55d6138f9804089275ea2af0bc7f0cbe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55d6138f9804089275ea2af0bc7f0cbe"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>eadel_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> idx, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a55d6138f9804089275ea2af0bc7f0cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1af1b96a8f79f338a59cf5e275c6607a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a1af1b96a8f79f338a59cf5e275c6607a">altfirst</a> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>) const </td></tr>
<tr class="memdesc:a1af1b96a8f79f338a59cf5e275c6607a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get first existing element of altval array.  <a href="#a1af1b96a8f79f338a59cf5e275c6607a">More...</a><br /></td></tr>
<tr class="separator:a1af1b96a8f79f338a59cf5e275c6607a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacaa7e311da6987455153f0d9034fb28"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#aacaa7e311da6987455153f0d9034fb28">altnext</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>) const </td></tr>
<tr class="memdesc:aacaa7e311da6987455153f0d9034fb28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next existing element of altval array.  <a href="#aacaa7e311da6987455153f0d9034fb28">More...</a><br /></td></tr>
<tr class="separator:aacaa7e311da6987455153f0d9034fb28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc5dc4139914355a33eb9c1cd76622ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#adc5dc4139914355a33eb9c1cd76622ab">altlast</a> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>) const </td></tr>
<tr class="memdesc:adc5dc4139914355a33eb9c1cd76622ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get last element of altval array.  <a href="#adc5dc4139914355a33eb9c1cd76622ab">More...</a><br /></td></tr>
<tr class="separator:adc5dc4139914355a33eb9c1cd76622ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d1ad871c47bca9b756d0b2859683f59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a8d1ad871c47bca9b756d0b2859683f59">altprev</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>) const </td></tr>
<tr class="memdesc:a8d1ad871c47bca9b756d0b2859683f59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get previous existing element of altval array.  <a href="#a8d1ad871c47bca9b756d0b2859683f59">More...</a><br /></td></tr>
<tr class="separator:a8d1ad871c47bca9b756d0b2859683f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af686d9db26188b6b1da6bd46c3089a49"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#af686d9db26188b6b1da6bd46c3089a49">altshift</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> from, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> to, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> size, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a>)</td></tr>
<tr class="memdesc:af686d9db26188b6b1da6bd46c3089a49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shift the altval array elements.  <a href="#af686d9db26188b6b1da6bd46c3089a49">More...</a><br /></td></tr>
<tr class="separator:af686d9db26188b6b1da6bd46c3089a49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0867c78a57578fab36d83020f58e2d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ac0867c78a57578fab36d83020f58e2d3">altadjust</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> from, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> to, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> size, bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *should_skip)(<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> ea)=NULL)</td></tr>
<tr class="memdesc:ac0867c78a57578fab36d83020f58e2d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjust values of altval arrays elements.  <a href="#ac0867c78a57578fab36d83020f58e2d3">More...</a><br /></td></tr>
<tr class="separator:ac0867c78a57578fab36d83020f58e2d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Arrays of altvals: 8-bit values</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>The following functions behave in the same manner as the functions described above.</p>
<p>The only difference is that the array value is 8-bits.</p><ul>
<li>index: 32 bits</li>
<li>value: 8 bits </li>
</ul>
</div></td></tr>
<tr class="memitem:a90ed44ede062aed966766a7cc476bfab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90ed44ede062aed966766a7cc476bfab"></a>
<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charval</b> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a90ed44ede062aed966766a7cc476bfab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6720c0fa48ad06005a09dc8adabb375"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6720c0fa48ad06005a09dc8adabb375"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>charset</b> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> val, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:ae6720c0fa48ad06005a09dc8adabb375"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1363c1280d65fbca48ac2165d1d8415"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1363c1280d65fbca48ac2165d1d8415"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>chardel</b> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:aa1363c1280d65fbca48ac2165d1d8415"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35cbea6e503fa7bcd90814794bf2aeb0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35cbea6e503fa7bcd90814794bf2aeb0"></a>
<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charval_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a35cbea6e503fa7bcd90814794bf2aeb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20a2fbcb548a12d11b69937c67372c0f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20a2fbcb548a12d11b69937c67372c0f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>charset_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> val, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a20a2fbcb548a12d11b69937c67372c0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd9b5e938bd3093d30f8f1572aed3ee0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd9b5e938bd3093d30f8f1572aed3ee0"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>chardel_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:acd9b5e938bd3093d30f8f1572aed3ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca3818518c2d83b8057b6cd805087fac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca3818518c2d83b8057b6cd805087fac"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charfirst</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:aca3818518c2d83b8057b6cd805087fac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4091d94feabad8f95b27a4855e45294"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4091d94feabad8f95b27a4855e45294"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charnext</b> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:ae4091d94feabad8f95b27a4855e45294"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0f15dc7207a06743a47c910fd81faa7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0f15dc7207a06743a47c910fd81faa7"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charlast</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:ae0f15dc7207a06743a47c910fd81faa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9d531d0c1b4554c29095411349cb044"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9d531d0c1b4554c29095411349cb044"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charprev</b> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:af9d531d0c1b4554c29095411349cb044"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eb580afc1c06dc155792dc876d6fdb3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6eb580afc1c06dc155792dc876d6fdb3"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>charshift</b> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> from, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> to, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> size, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a6eb580afc1c06dc155792dc876d6fdb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Arrays of altvals: 8-bit indexes</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Another set of functions to work with altvals.</p>
<p>The only difference is that the array index is 8-bits, and therefore the array may contain up to 256 elements only.</p><ul>
<li>index: 8 bits</li>
<li>value: 32 bits </li>
</ul>
</div></td></tr>
<tr class="memitem:ae8ad36de2255048911f8329a067587be"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8ad36de2255048911f8329a067587be"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>altval_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:ae8ad36de2255048911f8329a067587be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08e423c786291a27924fa8609ee17753"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08e423c786291a27924fa8609ee17753"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>altset_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> val, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a08e423c786291a27924fa8609ee17753"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f7903d5eb618d50852b783f2fcec1a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f7903d5eb618d50852b783f2fcec1a1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>altdel_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a5f7903d5eb618d50852b783f2fcec1a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78cff985a4b088207654ba9b1e961c60"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78cff985a4b088207654ba9b1e961c60"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>altfirst_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a78cff985a4b088207654ba9b1e961c60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3af1aec4ee7fb0faa732c1d4b0368d7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3af1aec4ee7fb0faa732c1d4b0368d7d"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>altnext_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a3af1aec4ee7fb0faa732c1d4b0368d7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a144de630fa3be82f7614d515b306d040"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a144de630fa3be82f7614d515b306d040"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>altlast_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a144de630fa3be82f7614d515b306d040"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab474f97c5a416916194627456ec0699a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab474f97c5a416916194627456ec0699a"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>altprev_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:ab474f97c5a416916194627456ec0699a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">More altvals</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Another set of functions to work with altvals.</p>
<ul>
<li>index: 8 bits</li>
<li>value: 8 bits </li>
</ul>
</div></td></tr>
<tr class="memitem:ad76342b1bf26ca0c697d147d65e3c0bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad76342b1bf26ca0c697d147d65e3c0bf"></a>
<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charval_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:ad76342b1bf26ca0c697d147d65e3c0bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ed6f60a3022f6d5ca3572f72ddae4a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ed6f60a3022f6d5ca3572f72ddae4a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>charset_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> val, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a69ed6f60a3022f6d5ca3572f72ddae4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c9622176b37bc7b43be4ac19a44f832"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c9622176b37bc7b43be4ac19a44f832"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>chardel_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a2c9622176b37bc7b43be4ac19a44f832"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad13a267aefdff3bce5e69afe72c76587"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad13a267aefdff3bce5e69afe72c76587"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charfirst_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:ad13a267aefdff3bce5e69afe72c76587"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6a50319d2cb349970927b82b9a3e7e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6a50319d2cb349970927b82b9a3e7e6"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charnext_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:ab6a50319d2cb349970927b82b9a3e7e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa84a82ca0078f3cec0dd1a3dd5fbce1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa84a82ca0078f3cec0dd1a3dd5fbce1"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charlast_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:aaa84a82ca0078f3cec0dd1a3dd5fbce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36fbab334f1f5d8d543fa5a95ab7ce16"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36fbab334f1f5d8d543fa5a95ab7ce16"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>charprev_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a36fbab334f1f5d8d543fa5a95ab7ce16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Delete altvals</div></td></tr>
<tr><td colspan="2"><div class="groupText"><dl class="section note"><dt>Note</dt><dd>To delete range of elements in an altval array, see <a class="el" href="classnetnode.html#ab3fd65f0c25e23ea5bac46b7254fe46a" title="Delete range of elements in the specified supval array. ">supdel_range()</a> </dd></dl>
</div></td></tr>
<tr class="memitem:abb3587565aeb0c551fe4bc3c567bba85"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#abb3587565aeb0c551fe4bc3c567bba85">altdel</a> (void)</td></tr>
<tr class="memdesc:abb3587565aeb0c551fe4bc3c567bba85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all elements of altval array.  <a href="#abb3587565aeb0c551fe4bc3c567bba85">More...</a><br /></td></tr>
<tr class="separator:abb3587565aeb0c551fe4bc3c567bba85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f32ede9b8da8b853cb60b76f2a9a306"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a9f32ede9b8da8b853cb60b76f2a9a306">altdel_all</a> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:a9f32ede9b8da8b853cb60b76f2a9a306"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all elements of the specified altval array.  <a href="#a9f32ede9b8da8b853cb60b76f2a9a306">More...</a><br /></td></tr>
<tr class="separator:a9f32ede9b8da8b853cb60b76f2a9a306"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Arrays of supvals</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>supvals: an array of arbitrary sized objects.</p>
<p>(size of each object is limited by <a class="el" href="netnode_8hpp.html#ae8c4a26e225e65819ce7f26e69022c47" title="Maximum length of strings or objects stored in a supval array element. ">MAXSPECSIZE</a>). indexes in this array may be 8-bit or 32-bit values. </p>
</div></td></tr>
<tr class="memitem:acfc84c90d0c7b1e0803491cf04bd3ff8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#acfc84c90d0c7b1e0803491cf04bd3ff8">supval</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, void *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="memdesc:acfc84c90d0c7b1e0803491cf04bd3ff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get value of the specified supval array element.  <a href="#acfc84c90d0c7b1e0803491cf04bd3ff8">More...</a><br /></td></tr>
<tr class="separator:acfc84c90d0c7b1e0803491cf04bd3ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba777f27ba61d49e9d1052a68711ffca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba777f27ba61d49e9d1052a68711ffca"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>supval_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, void *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="separator:aba777f27ba61d49e9d1052a68711ffca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa8a5a6b5697a27a8673f0a253c6ee79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#aaa8a5a6b5697a27a8673f0a253c6ee79">supstr</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="memdesc:aaa8a5a6b5697a27a8673f0a253c6ee79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get string value of the specified supval array element.  <a href="#aaa8a5a6b5697a27a8673f0a253c6ee79">More...</a><br /></td></tr>
<tr class="separator:aaa8a5a6b5697a27a8673f0a253c6ee79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e7333f6eaee81e3e9f1812bb2993c2f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e7333f6eaee81e3e9f1812bb2993c2f"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>supstr_ea</b> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="separator:a7e7333f6eaee81e3e9f1812bb2993c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab31b9af79c9f2637dec294a280be4ac1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ab31b9af79c9f2637dec294a280be4ac1">supstr</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, char *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="separator:ab31b9af79c9f2637dec294a280be4ac1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695f472b5435e870c13b87589a561a18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a695f472b5435e870c13b87589a561a18"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>supstr_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, char *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="separator:a695f472b5435e870c13b87589a561a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6b099bc586fc052bcdc1e9ec4960626"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ad6b099bc586fc052bcdc1e9ec4960626">supset</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, const void *value, size_t length=0, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>)</td></tr>
<tr class="memdesc:ad6b099bc586fc052bcdc1e9ec4960626"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set value of supval array element.  <a href="#ad6b099bc586fc052bcdc1e9ec4960626">More...</a><br /></td></tr>
<tr class="separator:ad6b099bc586fc052bcdc1e9ec4960626"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6405f04a7e9979748a7f11417b78df29"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6405f04a7e9979748a7f11417b78df29"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>supset_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, const void *value, size_t length=0, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>)</td></tr>
<tr class="separator:a6405f04a7e9979748a7f11417b78df29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a201b30d018d09050f9192f0deb191062"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a201b30d018d09050f9192f0deb191062">supdel</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>)</td></tr>
<tr class="memdesc:a201b30d018d09050f9192f0deb191062"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete supval element.  <a href="#a201b30d018d09050f9192f0deb191062">More...</a><br /></td></tr>
<tr class="separator:a201b30d018d09050f9192f0deb191062"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04cb7ab516b273a9a2198f05f206abe8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04cb7ab516b273a9a2198f05f206abe8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>supdel_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>)</td></tr>
<tr class="separator:a04cb7ab516b273a9a2198f05f206abe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2050b5cfb19a240a525e5b9e4cf98f20"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a2050b5cfb19a240a525e5b9e4cf98f20">lower_bound</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="memdesc:a2050b5cfb19a240a525e5b9e4cf98f20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get lower bound of existing elements of supval array.  <a href="#a2050b5cfb19a240a525e5b9e4cf98f20">More...</a><br /></td></tr>
<tr class="separator:a2050b5cfb19a240a525e5b9e4cf98f20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3789bd9c9f3ae4b2409906b075715a72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3789bd9c9f3ae4b2409906b075715a72"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>lower_bound_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="separator:a3789bd9c9f3ae4b2409906b075715a72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89a7b56a2e7c79295fb2242bb973533e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a89a7b56a2e7c79295fb2242bb973533e">supfirst</a> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="memdesc:a89a7b56a2e7c79295fb2242bb973533e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get first existing element of supval array.  <a href="#a89a7b56a2e7c79295fb2242bb973533e">More...</a><br /></td></tr>
<tr class="separator:a89a7b56a2e7c79295fb2242bb973533e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeefd0069a7f8c02f83cf053a5a2b21b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#aeefd0069a7f8c02f83cf053a5a2b21b3">supnext</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="memdesc:aeefd0069a7f8c02f83cf053a5a2b21b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next existing element of supval array.  <a href="#aeefd0069a7f8c02f83cf053a5a2b21b3">More...</a><br /></td></tr>
<tr class="separator:aeefd0069a7f8c02f83cf053a5a2b21b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa4e1005cac9fd4bdb44a8f737aa014c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#afa4e1005cac9fd4bdb44a8f737aa014c">suplast</a> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="memdesc:afa4e1005cac9fd4bdb44a8f737aa014c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get last existing element of supval array.  <a href="#afa4e1005cac9fd4bdb44a8f737aa014c">More...</a><br /></td></tr>
<tr class="separator:afa4e1005cac9fd4bdb44a8f737aa014c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e5c7675c16c74b1834fd0f4bed79c3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a3e5c7675c16c74b1834fd0f4bed79c3e">supprev</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> cur, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>) const </td></tr>
<tr class="memdesc:a3e5c7675c16c74b1834fd0f4bed79c3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get previous existing element of supval array.  <a href="#a3e5c7675c16c74b1834fd0f4bed79c3e">More...</a><br /></td></tr>
<tr class="separator:a3e5c7675c16c74b1834fd0f4bed79c3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6d79271d16cbf4e1afefde9f0d15cd5"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ab6d79271d16cbf4e1afefde9f0d15cd5">supshift</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> from, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> to, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> size, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a>)</td></tr>
<tr class="memdesc:ab6d79271d16cbf4e1afefde9f0d15cd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shift the supval array elements.  <a href="#ab6d79271d16cbf4e1afefde9f0d15cd5">More...</a><br /></td></tr>
<tr class="separator:ab6d79271d16cbf4e1afefde9f0d15cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Arrays of supvals: 8-bit indexes</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>The following functions behave in the same manner as the functions described above.</p>
<p>The only difference is that the array index is 8-bits and therefore the array may contains up to 256 elements only. </p>
</div></td></tr>
<tr class="memitem:a5b091f155495a80117b320df7890c233"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b091f155495a80117b320df7890c233"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>supval_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, void *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a5b091f155495a80117b320df7890c233"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ace7210e0c516157417f45b62fe7ba7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ace7210e0c516157417f45b62fe7ba7"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>supstr_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, char *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a7ace7210e0c516157417f45b62fe7ba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c40039e9b6c7c74593fbb1de5afca1e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c40039e9b6c7c74593fbb1de5afca1e"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>supstr_idx8</b> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a4c40039e9b6c7c74593fbb1de5afca1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abef0d668e75fd81bf4af8c7cb75ed4b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abef0d668e75fd81bf4af8c7cb75ed4b4"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>supset_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, const void *value, size_t length, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:abef0d668e75fd81bf4af8c7cb75ed4b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab72d7fab751ddd4e4f7a28c9095ed8d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab72d7fab751ddd4e4f7a28c9095ed8d1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>supdel_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:ab72d7fab751ddd4e4f7a28c9095ed8d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4e4ac2b840c4b7ba49801649f28cad0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4e4ac2b840c4b7ba49801649f28cad0"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>lower_bound_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:ab4e4ac2b840c4b7ba49801649f28cad0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a689cca4c22cc919a376b8c01a6f5956c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a689cca4c22cc919a376b8c01a6f5956c"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>supfirst_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a689cca4c22cc919a376b8c01a6f5956c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad48ebc31596ec5a10222903e7840e2e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad48ebc31596ec5a10222903e7840e2e3"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>supnext_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:ad48ebc31596ec5a10222903e7840e2e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c8fb66b46d4197e66e7b46055b20c37"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c8fb66b46d4197e66e7b46055b20c37"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>suplast_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a3c8fb66b46d4197e66e7b46055b20c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03105e815329ec4dcd3d1b52fb377ef0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03105e815329ec4dcd3d1b52fb377ef0"></a>
<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>supprev_idx8</b> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag) const </td></tr>
<tr class="separator:a03105e815329ec4dcd3d1b52fb377ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Delete supvals</div></td></tr>
<tr class="memitem:ad5235083bc990e0d878c5c7de28d8fe0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ad5235083bc990e0d878c5c7de28d8fe0">supdel</a> (void)</td></tr>
<tr class="memdesc:ad5235083bc990e0d878c5c7de28d8fe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all elements of supval array.  <a href="#ad5235083bc990e0d878c5c7de28d8fe0">More...</a><br /></td></tr>
<tr class="separator:ad5235083bc990e0d878c5c7de28d8fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa64845a0b4c5ac528db4d70d9cf686eb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#aa64845a0b4c5ac528db4d70d9cf686eb">supdel_all</a> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:aa64845a0b4c5ac528db4d70d9cf686eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all elements of the specified supval array.  <a href="#aa64845a0b4c5ac528db4d70d9cf686eb">More...</a><br /></td></tr>
<tr class="separator:aa64845a0b4c5ac528db4d70d9cf686eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3fd65f0c25e23ea5bac46b7254fe46a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ab3fd65f0c25e23ea5bac46b7254fe46a">supdel_range</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> idx1, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> idx2, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:ab3fd65f0c25e23ea5bac46b7254fe46a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete range of elements in the specified supval array.  <a href="#ab3fd65f0c25e23ea5bac46b7254fe46a">More...</a><br /></td></tr>
<tr class="separator:ab3fd65f0c25e23ea5bac46b7254fe46a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4acd90886a8f6b096b35b8987893d98"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4acd90886a8f6b096b35b8987893d98"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ac4acd90886a8f6b096b35b8987893d98">supdel_range_idx8</a> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> idx1, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> idx2, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:ac4acd90886a8f6b096b35b8987893d98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as above, but accepts 8-bit indexes. <br /></td></tr>
<tr class="separator:ac4acd90886a8f6b096b35b8987893d98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Hashes</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Associative arrays indexed by strings.</p>
<p>hashvals: Indexes in this array are strings. Values are arbitrary sized (max size is <a class="el" href="netnode_8hpp.html#ae8c4a26e225e65819ce7f26e69022c47" title="Maximum length of strings or objects stored in a supval array element. ">MAXSPECSIZE</a>) </p>
</div></td></tr>
<tr class="memitem:a7f433aded9c62966b12c8f1a27fac5fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a7f433aded9c62966b12c8f1a27fac5fd">hashval</a> (const char *idx, void *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="memdesc:a7f433aded9c62966b12c8f1a27fac5fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get value of the specified hash element.  <a href="#a7f433aded9c62966b12c8f1a27fac5fd">More...</a><br /></td></tr>
<tr class="separator:a7f433aded9c62966b12c8f1a27fac5fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cf86407847e6cb4e5572b9386e89bb2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cf86407847e6cb4e5572b9386e89bb2"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a6cf86407847e6cb4e5572b9386e89bb2">hashstr</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf, const char *idx, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="memdesc:a6cf86407847e6cb4e5572b9386e89bb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Similar to <a class="el" href="classnetnode.html#aaa8a5a6b5697a27a8673f0a253c6ee79" title="Get string value of the specified supval array element. ">supstr()</a>, but accepts a hash index. <br /></td></tr>
<tr class="separator:a6cf86407847e6cb4e5572b9386e89bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36972eb18832ba24079045b561fad112"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a36972eb18832ba24079045b561fad112">hashstr</a> (const char *idx, char *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="separator:a36972eb18832ba24079045b561fad112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac70b35139c11e5eed40de64ce1de0c2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ac70b35139c11e5eed40de64ce1de0c2f">hashval_long</a> (const char *idx, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="memdesc:ac70b35139c11e5eed40de64ce1de0c2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get value of the specified hash element.  <a href="#ac70b35139c11e5eed40de64ce1de0c2f">More...</a><br /></td></tr>
<tr class="separator:ac70b35139c11e5eed40de64ce1de0c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e73712f3cc839fd3b2ab6a0747d1ab1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a3e73712f3cc839fd3b2ab6a0747d1ab1">hashset</a> (const char *idx, const void *value, size_t length=0, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>)</td></tr>
<tr class="memdesc:a3e73712f3cc839fd3b2ab6a0747d1ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set value of hash element.  <a href="#a3e73712f3cc839fd3b2ab6a0747d1ab1">More...</a><br /></td></tr>
<tr class="separator:a3e73712f3cc839fd3b2ab6a0747d1ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3150ee15967404d29f5036e0f4f37169"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a3150ee15967404d29f5036e0f4f37169">hashset</a> (const char *idx, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> value, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>)</td></tr>
<tr class="memdesc:a3150ee15967404d29f5036e0f4f37169"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set value of hash element to long value.  <a href="#a3150ee15967404d29f5036e0f4f37169">More...</a><br /></td></tr>
<tr class="separator:a3150ee15967404d29f5036e0f4f37169"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e6b87843e7a53c63b76e4d7ee628e26"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a2e6b87843e7a53c63b76e4d7ee628e26">hashdel</a> (const char *idx, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>)</td></tr>
<tr class="memdesc:a2e6b87843e7a53c63b76e4d7ee628e26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete hash element.  <a href="#a2e6b87843e7a53c63b76e4d7ee628e26">More...</a><br /></td></tr>
<tr class="separator:a2e6b87843e7a53c63b76e4d7ee628e26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c3cdab3d401334d29afdc8480528666"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a4c3cdab3d401334d29afdc8480528666">hashfirst</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="memdesc:a4c3cdab3d401334d29afdc8480528666"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get first existing element of hash.  <a href="#a4c3cdab3d401334d29afdc8480528666">More...</a><br /></td></tr>
<tr class="separator:a4c3cdab3d401334d29afdc8480528666"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f16df7bc2a397ecc80704257973d8bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a3f16df7bc2a397ecc80704257973d8bb">hashfirst</a> (char *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="separator:a3f16df7bc2a397ecc80704257973d8bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d1ad2c02e16b5f34d25181c5807f96f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a9d1ad2c02e16b5f34d25181c5807f96f">hashnext</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf, const char *idx, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="memdesc:a9d1ad2c02e16b5f34d25181c5807f96f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next existing element of hash.  <a href="#a9d1ad2c02e16b5f34d25181c5807f96f">More...</a><br /></td></tr>
<tr class="separator:a9d1ad2c02e16b5f34d25181c5807f96f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4937fc87ee79e756c5ef5b6990fc6ac7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a4937fc87ee79e756c5ef5b6990fc6ac7">hashnext</a> (const char *idx, char *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="separator:a4937fc87ee79e756c5ef5b6990fc6ac7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66f7fb9da7643179e94ea4d47c67269c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a66f7fb9da7643179e94ea4d47c67269c">hashlast</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="memdesc:a66f7fb9da7643179e94ea4d47c67269c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get last existing element of hash.  <a href="#a66f7fb9da7643179e94ea4d47c67269c">More...</a><br /></td></tr>
<tr class="separator:a66f7fb9da7643179e94ea4d47c67269c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c54d6b66e444f9a4a274be70e333cdb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a2c54d6b66e444f9a4a274be70e333cdb">hashlast</a> (char *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="separator:a2c54d6b66e444f9a4a274be70e333cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95edfda06d42dc91594828574fa2fc58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a95edfda06d42dc91594828574fa2fc58">hashprev</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf, const char *idx, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="memdesc:a95edfda06d42dc91594828574fa2fc58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get previous existing element of supval array.  <a href="#a95edfda06d42dc91594828574fa2fc58">More...</a><br /></td></tr>
<tr class="separator:a95edfda06d42dc91594828574fa2fc58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cef0d4f56a46d0f67897cb3d22a4094"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a4cef0d4f56a46d0f67897cb3d22a4094">hashprev</a> (const char *idx, char *buf, size_t bufsize, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>) const </td></tr>
<tr class="separator:a4cef0d4f56a46d0f67897cb3d22a4094"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06b896e135ff29e561a001e791879a77"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a06b896e135ff29e561a001e791879a77">hashdel_all</a> (<a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a>)</td></tr>
<tr class="memdesc:a06b896e135ff29e561a001e791879a77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all elements of hash.  <a href="#a06b896e135ff29e561a001e791879a77">More...</a><br /></td></tr>
<tr class="separator:a06b896e135ff29e561a001e791879a77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Blobs</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Virtually unlimited size binary objects.</p>
<p>Blobs are stored in several supval array elements. </p>
</div></td></tr>
<tr class="memitem:ac7ebaa0a3d0243a15621b8e78d1bcebc"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ac7ebaa0a3d0243a15621b8e78d1bcebc">blobsize</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> _start, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:ac7ebaa0a3d0243a15621b8e78d1bcebc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get size of blob.  <a href="#ac7ebaa0a3d0243a15621b8e78d1bcebc">More...</a><br /></td></tr>
<tr class="separator:ac7ebaa0a3d0243a15621b8e78d1bcebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a702f099bd3ccc33fef348ae3cb1758bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a702f099bd3ccc33fef348ae3cb1758bd"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>blobsize_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a702f099bd3ccc33fef348ae3cb1758bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3a42c01f0192121c51ae39759fbddb4"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ab3a42c01f0192121c51ae39759fbddb4">getblob</a> (void *buf, size_t *bufsize, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> _start, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:ab3a42c01f0192121c51ae39759fbddb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get blob from a netnode.  <a href="#ab3a42c01f0192121c51ae39759fbddb4">More...</a><br /></td></tr>
<tr class="separator:ab3a42c01f0192121c51ae39759fbddb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05b43bc8813c143346d6b07be0a2db06"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05b43bc8813c143346d6b07be0a2db06"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><b>getblob_ea</b> (void *buf, size_t *bufsize, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a05b43bc8813c143346d6b07be0a2db06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae02adac47bf09699f0eac8ff933188de"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:ae02adac47bf09699f0eac8ff933188de"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classnetnode.html#ae02adac47bf09699f0eac8ff933188de">getblob</a> (<a class="el" href="classqvector.html">qvector</a>&lt; T &gt; *blob, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> _start, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:ae02adac47bf09699f0eac8ff933188de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get blob from a netnode.  <a href="#ae02adac47bf09699f0eac8ff933188de">More...</a><br /></td></tr>
<tr class="separator:ae02adac47bf09699f0eac8ff933188de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64507384c710269fdb170eb1d254bbf6"><td class="memTemplParams" colspan="2"><a class="anchor" id="a64507384c710269fdb170eb1d254bbf6"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a64507384c710269fdb170eb1d254bbf6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><b>getblob_ea</b> (<a class="el" href="classqvector.html">qvector</a>&lt; T &gt; *blob, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a64507384c710269fdb170eb1d254bbf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7757507f886d19903cee592d0871e53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#ac7757507f886d19903cee592d0871e53">getblob</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *buf, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> _start, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:ac7757507f886d19903cee592d0871e53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get blob from a netnode into a qstring* and make sure the string is null-terminated.  <a href="#ac7757507f886d19903cee592d0871e53">More...</a><br /></td></tr>
<tr class="separator:ac7757507f886d19903cee592d0871e53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34876bc4629bf260ea4271ee382aacf4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a34876bc4629bf260ea4271ee382aacf4">setblob</a> (const void *buf, size_t size, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> _start, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:a34876bc4629bf260ea4271ee382aacf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a blob in a netnode.  <a href="#a34876bc4629bf260ea4271ee382aacf4">More...</a><br /></td></tr>
<tr class="separator:a34876bc4629bf260ea4271ee382aacf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afed1632f4f1c63b2103000ac3bfedbe1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afed1632f4f1c63b2103000ac3bfedbe1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>setblob_ea</b> (const void *buf, size_t size, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:afed1632f4f1c63b2103000ac3bfedbe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69d3953ab38655250e7f2d3e776964ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a69d3953ab38655250e7f2d3e776964ca">delblob</a> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> _start, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="memdesc:a69d3953ab38655250e7f2d3e776964ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a blob.  <a href="#a69d3953ab38655250e7f2d3e776964ca">More...</a><br /></td></tr>
<tr class="separator:a69d3953ab38655250e7f2d3e776964ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23b73da2e3d91275e72d2d948d572416"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23b73da2e3d91275e72d2d948d572416"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>delblob_ea</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a> tag)</td></tr>
<tr class="separator:a23b73da2e3d91275e72d2d948d572416"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Links</div></td></tr>
<tr><td colspan="2"><div class="groupText"><dl class="section warning"><dt>Warning</dt><dd>links are deprecated! (We can not delete them because they are used in ancient databases) </dd></dl>
</div></td></tr>
<tr class="memitem:a9e8094943b1a7d506fa55fc133a82037"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e8094943b1a7d506fa55fc133a82037"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>link</b> (<a class="el" href="classnetnode.html">netnode</a> to, netlink linktype, const char *linkspec)</td></tr>
<tr class="separator:a9e8094943b1a7d506fa55fc133a82037"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f6688c3c3a393c59721f109284f4fb6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f6688c3c3a393c59721f109284f4fb6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>unlink</b> (<a class="el" href="classnetnode.html">netnode</a> to, netlink linktype)</td></tr>
<tr class="separator:a0f6688c3c3a393c59721f109284f4fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab73d86b8a7f1c1a1c5131c126c18e596"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab73d86b8a7f1c1a1c5131c126c18e596"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>linkspec</b> (<a class="el" href="classnetnode.html">netnode</a> to, char *buf, size_t bufsize, netlink linktype) const </td></tr>
<tr class="separator:ab73d86b8a7f1c1a1c5131c126c18e596"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Enumerate all netnodes</div></td></tr>
<tr class="memitem:a1859569dc7330a3145478399d29ec379"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a1859569dc7330a3145478399d29ec379">start</a> (void)</td></tr>
<tr class="memdesc:a1859569dc7330a3145478399d29ec379"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get first netnode in the graph.  <a href="#a1859569dc7330a3145478399d29ec379">More...</a><br /></td></tr>
<tr class="separator:a1859569dc7330a3145478399d29ec379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af65bbe7b18f852f6be06013223af2157"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#af65bbe7b18f852f6be06013223af2157">end</a> (void)</td></tr>
<tr class="memdesc:af65bbe7b18f852f6be06013223af2157"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get last netnode in the graph.  <a href="#af65bbe7b18f852f6be06013223af2157">More...</a><br /></td></tr>
<tr class="separator:af65bbe7b18f852f6be06013223af2157"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a988dbd86ebdc8fa249f6343c3ad729ae"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a988dbd86ebdc8fa249f6343c3ad729ae">next</a> (void)</td></tr>
<tr class="memdesc:a988dbd86ebdc8fa249f6343c3ad729ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next netnode in the graph.  <a href="#a988dbd86ebdc8fa249f6343c3ad729ae">More...</a><br /></td></tr>
<tr class="separator:a988dbd86ebdc8fa249f6343c3ad729ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f92d582b6b8d492356204027238d5e7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a5f92d582b6b8d492356204027238d5e7">prev</a> (void)</td></tr>
<tr class="memdesc:a5f92d582b6b8d492356204027238d5e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get prev netnode in the graph.  <a href="#a5f92d582b6b8d492356204027238d5e7">More...</a><br /></td></tr>
<tr class="separator:a5f92d582b6b8d492356204027238d5e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Move and copy netnodes</div></td></tr>
<tr><td colspan="2"><div class="groupText"><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">target</td><td>the target netnode </td></tr>
    <tr><td class="paramname">count</td><td>how many netnodes to copy </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of copied/moved keys, <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if failure or not enough memory </dd></dl>
</div></td></tr>
<tr class="memitem:a66a9ae9d803fbc50c2b58341bf0b8386"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66a9ae9d803fbc50c2b58341bf0b8386"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>copyto</b> (<a class="el" href="classnetnode.html">netnode</a> target, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> count=1)</td></tr>
<tr class="separator:a66a9ae9d803fbc50c2b58341bf0b8386"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9b3d2c41fa7eddacc9a886524c79a94"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad9b3d2c41fa7eddacc9a886524c79a94"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>moveto</b> (<a class="el" href="classnetnode.html">netnode</a> target, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> count=1)</td></tr>
<tr class="separator:ad9b3d2c41fa7eddacc9a886524c79a94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Netnode comparisons</div></td></tr>
<tr class="memitem:aadfb8a2d08a1555cbf27b2bacd90cec6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadfb8a2d08a1555cbf27b2bacd90cec6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (<a class="el" href="classnetnode.html">netnode</a> &amp;n) const </td></tr>
<tr class="separator:aadfb8a2d08a1555cbf27b2bacd90cec6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e6de0ede4ee652b1b04eab2a50794a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e6de0ede4ee652b1b04eab2a50794a7"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (<a class="el" href="classnetnode.html">netnode</a> &amp;n) const </td></tr>
<tr class="separator:a7e6de0ede4ee652b1b04eab2a50794a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8adbc323af0eab73554f198dc7f21c1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8adbc323af0eab73554f198dc7f21c1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> x) const </td></tr>
<tr class="separator:ae8adbc323af0eab73554f198dc7f21c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d06c016068849fbfda0b1ca89be8645"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d06c016068849fbfda0b1ca89be8645"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> x) const </td></tr>
<tr class="separator:a9d06c016068849fbfda0b1ca89be8645"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:abfaf65a77be85e543570d003aa8cab23"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abfaf65a77be85e543570d003aa8cab23"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>inited</b> (void)</td></tr>
<tr class="separator:abfaf65a77be85e543570d003aa8cab23"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a0a42beca4447cf6a14c9b0fd15cfe922"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a42beca4447cf6a14c9b0fd15cfe922"></a>
bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a0a42beca4447cf6a14c9b0fd15cfe922">netnode_exist</a> (const <a class="el" href="classnetnode.html">netnode</a> &amp;n)</td></tr>
<tr class="memdesc:a0a42beca4447cf6a14c9b0fd15cfe922"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classnetnode.html#a6c982ef0a40d0d855ae2eef98aa6cbd8" title="Does the specified netnode exist?. ">exist()</a> <br /></td></tr>
<tr class="separator:a0a42beca4447cf6a14c9b0fd15cfe922"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c982ef0a40d0d855ae2eef98aa6cbd8"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnetnode.html#a6c982ef0a40d0d855ae2eef98aa6cbd8">exist</a> (const <a class="el" href="classnetnode.html">netnode</a> &amp;n)</td></tr>
<tr class="memdesc:a6c982ef0a40d0d855ae2eef98aa6cbd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does the specified netnode exist?.  <a href="#a6c982ef0a40d0d855ae2eef98aa6cbd8">More...</a><br /></td></tr>
<tr class="separator:a6c982ef0a40d0d855ae2eef98aa6cbd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2bce30734bdec4cb4f50fd5608dd72d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">netnode::netnode </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>namlen</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>do_create</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct an instance of netnode class to access the specified netnode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">_name</td><td>name of netnode </td></tr>
    <tr><td class="paramname">namlen</td><td>length of the name. may be omitted, in this case the length will be calculated with strlen() </td></tr>
    <tr><td class="paramname">do_create</td><td>true: create the netnode if it doesn't exist yet. false: don't create the netnode, set netnumber to <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if it doesn't exist </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac384a479be1e5b1d5cbd4b305a77bd1d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::create </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>namlen</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a named netnode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">_name</td><td>name of netnode to create. names of user-defined netnodes must have the "$ " prefix in order to avoid clashes with program byte names. </td></tr>
    <tr><td class="paramname">namlen</td><td>length of the name. if not specified, it will be calculated using strlen() </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok, the node is created </td></tr>
    <tr><td class="paramname">0</td><td>the node already exists. you may use the netnode class to access it. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8106a7da9e25c8df5e02cd62e91c1111"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::create </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create unnamed netnode. </p>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>should not happen, indicates internal error </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af3b9ee2b9abc36533baa871856d45cf4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::get_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>buf</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the netnode name. </p>
<dl class="section return"><dt>Returns</dt><dd>-1 if netnode is unnamed (buf is untouched in this case), otherwise the name length </dd></dl>

</div>
</div>
<a class="anchor" id="a488aa5c55e53b8373e66d554b29945ea"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::rename </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>newname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>namlen</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Rename a netnode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newname</td><td>new name of netnode. NULL or "" means to delete name. names of user-defined netnodes must have the "$ " prefix in order to avoid clashes with program byte names. </td></tr>
    <tr><td class="paramname">namlen</td><td>length of new name. if not specified, it will be calculated using strlen() </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>failed, newname is already used </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a115325cefc096a44e867e6ef21e19a11"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::valobj </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get value of netnode. </p>
<p>Netnode values are arbitrary sized objects with max size is <a class="el" href="netnode_8hpp.html#ae8c4a26e225e65819ce7f26e69022c47" title="Maximum length of strings or objects stored in a supval array element. ">MAXSPECSIZE</a>. NB: do not use this function for strings - see <a class="el" href="classnetnode.html#ac38caa768bdd8c587f3ccae9b67b0c3e" title="Get string value of netnode. ">valstr()</a>. </p><dl class="section return"><dt>Returns</dt><dd>length of value, -1 if no value present </dd></dl>

</div>
</div>
<a class="anchor" id="ac38caa768bdd8c587f3ccae9b67b0c3e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::valstr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>buf</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get string value of netnode. </p>
<p>See explanations for <a class="el" href="classnetnode.html#aaa8a5a6b5697a27a8673f0a253c6ee79" title="Get string value of the specified supval array element. ">supstr()</a> function about the differences between <a class="el" href="classnetnode.html#a115325cefc096a44e867e6ef21e19a11" title="Get value of netnode. ">valobj()</a> and <a class="el" href="classnetnode.html#ac38caa768bdd8c587f3ccae9b67b0c3e" title="Get string value of netnode. ">valstr()</a> </p><dl class="section return"><dt>Returns</dt><dd>length of value, -1 if no value present </dd></dl>

</div>
</div>
<a class="anchor" id="a2782958fbe71c8923a945fcf1c2df2e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::valstr </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnetnode.html#ac38caa768bdd8c587f3ccae9b67b0c3e" title="Get string value of netnode. ">valstr(qstring *buf) const </a> </dd></dl>

</div>
</div>
<a class="anchor" id="a275c5c24c24eac6ce8a6a758c6b99efb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::set </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set value of netnode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>pointer to value </td></tr>
    <tr><td class="paramname">length</td><td>length of value. if not specified, it will be calculated using strlen() </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 - ok </dd></dl>

</div>
</div>
<a class="anchor" id="abac449a9625ff3f69252f27690b2be48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::delvalue </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete value of netnode. </p>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>failed, netnode is bad or other error </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a54c7d588ef352546dc70080a34e34b0e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::altval </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>alt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get altval element of the specified array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">alt</td><td>index into array of altvals </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array. may be omitted </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>value of altval element. nonexistent altval members are returned as zeroes </dd></dl>

</div>
</div>
<a class="anchor" id="a6ce81ff84f2365815c81f6fce22c4c72"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::altset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>alt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set value of altval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">alt</td><td>index into array of altvals </td></tr>
    <tr><td class="paramname">value</td><td>new value of altval element </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>failed, normally should not occur </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af4bd3720edfbc6ae77de792c9e72473d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::altdel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>alt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete element of altval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">alt</td><td>index into array of altvals </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>failed, element doesn't exist </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac50e98f884a348b1ce6e507d2a4d5936"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::easet </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Store/retrieve/delete an address value in the netnode that corresponds to an address. </p>

</div>
</div>
<a class="anchor" id="a1af1b96a8f79f338a59cf5e275c6607a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::altfirst </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a></code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get first existing element of altval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index of first existing element of altval array, <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if altval array is empty </dd></dl>

</div>
</div>
<a class="anchor" id="aacaa7e311da6987455153f0d9034fb28"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::altnext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>cur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get next existing element of altval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cur</td><td>current index </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index of the next existing element of altval array, <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if no more altval array elements exist </dd></dl>

</div>
</div>
<a class="anchor" id="adc5dc4139914355a33eb9c1cd76622ab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::altlast </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a></code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get last element of altval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index of last existing element of altval array, <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if altval array is empty </dd></dl>

</div>
</div>
<a class="anchor" id="a8d1ad871c47bca9b756d0b2859683f59"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::altprev </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>cur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get previous existing element of altval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cur</td><td>current index </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index of the previous existing element of altval array, <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if no more altval array elements exist </dd></dl>

</div>
</div>
<a class="anchor" id="af686d9db26188b6b1da6bd46c3089a49"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t netnode::altshift </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga510bd25a8aa555688d611db3a33e3902">atag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Shift the altval array elements. </p>
<p>Moves the array elements at (from..from+size) to (to..to+size) </p><dl class="section return"><dt>Returns</dt><dd>number of shifted elements </dd></dl>

</div>
</div>
<a class="anchor" id="ac0867c78a57578fab36d83020f58e2d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void netnode::altadjust </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *)(<a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> ea)&#160;</td>
          <td class="paramname"><em>should_skip</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adjust values of altval arrays elements. </p>
<p>All altvals in the range from+1..from+size+1 and adjusted to have values in the range to+1..to+size+1. The parameter should_skip() can be used to skip the adjustment of some altvals </p>

</div>
</div>
<a class="anchor" id="abb3587565aeb0c551fe4bc3c567bba85"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::altdel </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete all elements of altval array. </p>
<p>This function may be applied to 32-bit and 8-bit altval arrays. This function deletes the whole altval array. </p><dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="a9f32ede9b8da8b853cb60b76f2a9a306"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::altdel_all </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete all elements of the specified altval array. </p>
<p>This function may be applied to 32-bit and 8-bit altval arrays. This function deletes the whole altval array. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="acfc84c90d0c7b1e0803491cf04bd3ff8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::supval </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>alt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get value of the specified supval array element. </p>
<p>NB: do not use this function to retrieve strings, see <a class="el" href="classnetnode.html#aaa8a5a6b5697a27a8673f0a253c6ee79" title="Get string value of the specified supval array element. ">supstr()</a>! </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">alt</td><td>index into array of supvals </td></tr>
    <tr><td class="paramname">buf</td><td>output buffer, may be NULL </td></tr>
    <tr><td class="paramname">bufsize</td><td>size of output buffer </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array. Default: stag </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>size of value, -1 if element doesn't exist </dd></dl>

</div>
</div>
<a class="anchor" id="aaa8a5a6b5697a27a8673f0a253c6ee79"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::supstr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>alt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get string value of the specified supval array element. </p>
<p>The differences between <a class="el" href="classnetnode.html#acfc84c90d0c7b1e0803491cf04bd3ff8" title="Get value of the specified supval array element. ">supval()</a> and <a class="el" href="classnetnode.html#aaa8a5a6b5697a27a8673f0a253c6ee79" title="Get string value of the specified supval array element. ">supstr()</a> are the following:</p><ol type="1">
<li>Strings are stored with the terminating zero in the old databases. <a class="el" href="classnetnode.html#acfc84c90d0c7b1e0803491cf04bd3ff8" title="Get value of the specified supval array element. ">supval()</a> returns the exact size of the stored object (with the terminating zero) but supstr returns the string length without the terminating zero. <a class="el" href="classnetnode.html#aaa8a5a6b5697a27a8673f0a253c6ee79" title="Get string value of the specified supval array element. ">supstr()</a> can handle strings stored with or without the terminating zero.</li>
<li><a class="el" href="classnetnode.html#aaa8a5a6b5697a27a8673f0a253c6ee79" title="Get string value of the specified supval array element. ">supstr()</a> makes sure that the string is terminated with 0 even if the string was stored in the database without it or the output buffer is too small to hold the entire string. In the latter case the string will be truncated but still will have the terminating zero.</li>
</ol>
<p>If you do not use the string length returned by supval/supstr() functions and you are sure that the output buffer is big enough to hold the entire string and the string has been stored in the database with the terminating zero, then you can continue to use <a class="el" href="classnetnode.html#acfc84c90d0c7b1e0803491cf04bd3ff8" title="Get value of the specified supval array element. ">supval()</a> instead of <a class="el" href="classnetnode.html#aaa8a5a6b5697a27a8673f0a253c6ee79" title="Get string value of the specified supval array element. ">supstr()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>output buffer, may be NULL </td></tr>
    <tr><td class="paramname">alt</td><td>index into array of supvals </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array. Default: stag </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>length of the output string, -1 if element doesn't exist </dd></dl>

</div>
</div>
<a class="anchor" id="ab31b9af79c9f2637dec294a280be4ac1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::supstr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>alt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnetnode.html#aaa8a5a6b5697a27a8673f0a253c6ee79" title="Get string value of the specified supval array element. ">supstr</a>(<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce" title="regular string ">qstring</a> *buf, <a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9" title="numbers are 64 bit for 64 bit IDA ">nodeidx_t</a> alt, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc" title="unsigned 8 bit value ">uchar</a> tag=<a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c" title="Array of supvals. ">stag</a>) const </dd></dl>

</div>
</div>
<a class="anchor" id="ad6b099bc586fc052bcdc1e9ec4960626"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::supset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>alt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set value of supval array element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">alt</td><td>index into array of supvals </td></tr>
    <tr><td class="paramname">value</td><td>pointer to supval value </td></tr>
    <tr><td class="paramname">length</td><td>length of 'value'. If not specified, the length is calculated using strlen()+1. </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>should not occur - indicates internal error </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a201b30d018d09050f9192f0deb191062"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::supdel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>alt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete supval element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">alt</td><td>index into array of supvals </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>deleted </td></tr>
    <tr><td class="paramname">false</td><td>element does not exist </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2050b5cfb19a240a525e5b9e4cf98f20"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::lower_bound </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>cur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get lower bound of existing elements of supval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cur</td><td>current index </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index of first existing element of supval array &gt;= cur <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if supval array is empty </dd></dl>

</div>
</div>
<a class="anchor" id="a89a7b56a2e7c79295fb2242bb973533e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::supfirst </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get first existing element of supval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index of first existing element of supval array, <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if supval array is empty </dd></dl>

</div>
</div>
<a class="anchor" id="aeefd0069a7f8c02f83cf053a5a2b21b3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::supnext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>cur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get next existing element of supval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cur</td><td>current index </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index of the next existing element of supval array, <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if no more supval array elements exist </dd></dl>

</div>
</div>
<a class="anchor" id="afa4e1005cac9fd4bdb44a8f737aa014c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::suplast </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get last existing element of supval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index of last existing element of supval array, <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if supval array is empty </dd></dl>

</div>
</div>
<a class="anchor" id="a3e5c7675c16c74b1834fd0f4bed79c3e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::supprev </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>cur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get previous existing element of supval array. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cur</td><td>current index </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index of the previous existing element of supval array <a class="el" href="netnode_8hpp.html#ab745219216aec4e8abf2c1dcc5d5eac0" title="A number to represent a bad netnode reference. ">BADNODE</a> if no more supval array elements exist </dd></dl>

</div>
</div>
<a class="anchor" id="ab6d79271d16cbf4e1afefde9f0d15cd5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t netnode::supshift </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#gae6dbe815b6c62ada91022a3f3e1a0f3c">stag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Shift the supval array elements. </p>
<p>Moves the array elements at (from..from+size) to (to..to+size) </p><dl class="section return"><dt>Returns</dt><dd>number of shifted elements </dd></dl>

</div>
</div>
<a class="anchor" id="ad5235083bc990e0d878c5c7de28d8fe0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::supdel </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete all elements of supval array. </p>
<p>This function may be applied to 32-bit and 8-bit supval arrays. This function deletes the whole supval array. </p><dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="aa64845a0b4c5ac528db4d70d9cf686eb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::supdel_all </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete all elements of the specified supval array. </p>
<p>This function may be applied to 32-bit and 8-bit supval arrays. This function deletes the whole supval array. </p><dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="ab3fd65f0c25e23ea5bac46b7254fe46a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int netnode::supdel_range </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>idx1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>idx2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete range of elements in the specified supval array. </p>
<p>Elements in range [idx1, idx2) will be deleted. </p><dl class="section note"><dt>Note</dt><dd>This function can also be used to delete a range of altval elements </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx1</td><td>first element to delete </td></tr>
    <tr><td class="paramname">idx2</td><td>last element to delete + 1 </td></tr>
    <tr><td class="paramname">tag</td><td>tag of array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of deleted elements </dd></dl>

</div>
</div>
<a class="anchor" id="a7f433aded9c62966b12c8f1a27fac5fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::hashval </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get value of the specified hash element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>index into hash </td></tr>
    <tr><td class="paramname">buf</td><td>output buffer, may be NULL </td></tr>
    <tr><td class="paramname">bufsize</td><td>output buffer size </td></tr>
    <tr><td class="paramname">tag</td><td>tag of hash. Default: htag </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 if element doesn't exist or idx is NULL. otherwise returns the value size in bytes </dd></dl>

</div>
</div>
<a class="anchor" id="a36972eb18832ba24079045b561fad112"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::hashstr </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnetnode.html#a6cf86407847e6cb4e5572b9386e89bb2" title="Similar to supstr(), but accepts a hash index. ">hashstr</a>(<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce" title="regular string ">qstring</a> *buf, const char *idx, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc" title="unsigned 8 bit value ">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20" title="Array of hashvals. ">htag</a>) const </dd></dl>

</div>
</div>
<a class="anchor" id="ac70b35139c11e5eed40de64ce1de0c2f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a> netnode::hashval_long </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get value of the specified hash element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>index into hash </td></tr>
    <tr><td class="paramname">tag</td><td>tag of hash. Default: htag </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>value of hash element (it should be set using hashset(nodeidx_t)), 0 if the element does not exist </dd></dl>

</div>
</div>
<a class="anchor" id="a3e73712f3cc839fd3b2ab6a0747d1ab1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::hashset </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set value of hash element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>index into hash </td></tr>
    <tr><td class="paramname">value</td><td>pointer to value </td></tr>
    <tr><td class="paramname">length</td><td>length of 'value'. If not specified, the length is calculated using strlen()+1. </td></tr>
    <tr><td class="paramname">tag</td><td>tag of hash. Default: htag </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>should not occur - indicates internal error </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3150ee15967404d29f5036e0f4f37169"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::hashset </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set value of hash element to long value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>index into hash </td></tr>
    <tr><td class="paramname">value</td><td>new value of hash element </td></tr>
    <tr><td class="paramname">tag</td><td>tag of hash. Default: htag </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>should not occur - indicates internal error </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2e6b87843e7a53c63b76e4d7ee628e26"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::hashdel </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete hash element. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>index into hash </td></tr>
    <tr><td class="paramname">tag</td><td>tag of hash. Default: htag </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>deleted </td></tr>
    <tr><td class="paramname">false</td><td>element does not exist </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4c3cdab3d401334d29afdc8480528666"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::hashfirst </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get first existing element of hash. </p>
<dl class="section note"><dt>Note</dt><dd>elements of hash are kept sorted in lexical order </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>output buffer, may be NULL </td></tr>
    <tr><td class="paramname">tag</td><td>tag of hash. Default: htag </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>size of index of first existing element of hash, -1 if hash is empty </dd></dl>

</div>
</div>
<a class="anchor" id="a3f16df7bc2a397ecc80704257973d8bb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::hashfirst </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnetnode.html#a4c3cdab3d401334d29afdc8480528666" title="Get first existing element of hash. ">hashfirst</a>(<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce" title="regular string ">qstring</a> *buf, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc" title="unsigned 8 bit value ">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20" title="Array of hashvals. ">htag</a>) const </dd></dl>

</div>
</div>
<a class="anchor" id="a9d1ad2c02e16b5f34d25181c5807f96f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::hashnext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get next existing element of hash. </p>
<dl class="section note"><dt>Note</dt><dd>elements of hash are kept sorted in lexical order </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>output buffer, may be NULL </td></tr>
    <tr><td class="paramname">idx</td><td>current index into hash </td></tr>
    <tr><td class="paramname">tag</td><td>tag of hash. Default: htag </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>size of index of the next existing element of hash, -1 if no more hash elements exist </dd></dl>

</div>
</div>
<a class="anchor" id="a4937fc87ee79e756c5ef5b6990fc6ac7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::hashnext </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnetnode.html#a9d1ad2c02e16b5f34d25181c5807f96f" title="Get next existing element of hash. ">hashnext</a>(<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce" title="regular string ">qstring</a> *buf, const char *idx, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc" title="unsigned 8 bit value ">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20" title="Array of hashvals. ">htag</a>) const </dd></dl>

</div>
</div>
<a class="anchor" id="a66f7fb9da7643179e94ea4d47c67269c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::hashlast </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get last existing element of hash. </p>
<dl class="section note"><dt>Note</dt><dd>elements of hash are kept sorted in lexical order </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>output buffer, may be NULL </td></tr>
    <tr><td class="paramname">tag</td><td>tag of hash. Default: htag </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>size of index of last existing element of hash, -1 if hash is empty </dd></dl>

</div>
</div>
<a class="anchor" id="a2c54d6b66e444f9a4a274be70e333cdb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::hashlast </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnetnode.html#a66f7fb9da7643179e94ea4d47c67269c" title="Get last existing element of hash. ">hashlast</a>(<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce" title="regular string ">qstring</a> *buf, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc" title="unsigned 8 bit value ">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20" title="Array of hashvals. ">htag</a>) const </dd></dl>

</div>
</div>
<a class="anchor" id="a95edfda06d42dc91594828574fa2fc58"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::hashprev </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get previous existing element of supval array. </p>
<dl class="section note"><dt>Note</dt><dd>elements of hash are kept sorted in lexical order </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>output buffer, may be NULL </td></tr>
    <tr><td class="paramname">idx</td><td>current index into hash </td></tr>
    <tr><td class="paramname">tag</td><td>tag of hash. Default: htag </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>size of index of the previous existing element of hash, -1 if no more hash elements exist </dd></dl>

</div>
</div>
<a class="anchor" id="a4cef0d4f56a46d0f67897cb3d22a4094"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::hashprev </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnetnode.html#a95edfda06d42dc91594828574fa2fc58" title="Get previous existing element of supval array. ">hashprev</a>(<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce" title="regular string ">qstring</a> *buf, const char *idx, <a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc" title="unsigned 8 bit value ">uchar</a> tag=<a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20" title="Array of hashvals. ">htag</a>) const </dd></dl>

</div>
</div>
<a class="anchor" id="a06b896e135ff29e561a001e791879a77"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::hashdel_all </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em> = <code><a class="el" href="group__nn__res.html#ga2d24406d0dc001d3d7a6e99adf73ad20">htag</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete all elements of hash. </p>
<p>This function deletes the whole hash. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tag</td><td>tag of hash. Default: htag </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="ac7ebaa0a3d0243a15621b8e78d1bcebc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t netnode::blobsize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>_start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get size of blob. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">_start</td><td>index of the first supval element used to store blob </td></tr>
    <tr><td class="paramname">tag</td><td>tag of supval array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of bytes required to store a blob </dd></dl>

</div>
</div>
<a class="anchor" id="ab3a42c01f0192121c51ae39759fbddb4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void* netnode::getblob </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>_start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get blob from a netnode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">buf</td><td>buffer to read into. if NULL, the buffer will be allocated using <a class="el" href="pro_8h.html#a2806c6575b58eb42bb0d2b96f92fc39b" title="System independent malloc. ">qalloc()</a> </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">bufsize</td><td>in: size of 'buf' in bytes (if buf == NULL then meaningless). out: size of the blob if it exists. bufsize may be NULL </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">_start</td><td>index of the first supval element used to store blob </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">tag</td><td>tag of supval array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL if blob doesn't exist, otherwise returns pointer to blob </dd></dl>

</div>
</div>
<a class="anchor" id="ae02adac47bf09699f0eac8ff933188de"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::getblob </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classqvector.html">qvector</a>&lt; T &gt; *&#160;</td>
          <td class="paramname"><em>blob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>_start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get blob from a netnode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">blob</td><td>output <a class="el" href="classqvector.html" title="Reimplementation of vector class from STL. ">qvector</a> buffer </td></tr>
    <tr><td class="paramname">_start</td><td>index of the first supval element used to store blob </td></tr>
    <tr><td class="paramname">tag</td><td>tag of supval array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 if blob doesn't exist, size of blob otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="ac7757507f886d19903cee592d0871e53"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> netnode::getblob </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>_start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get blob from a netnode into a qstring* and make sure the string is null-terminated. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>output <a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce" title="regular string ">qstring</a> buffer </td></tr>
    <tr><td class="paramname">_start</td><td>index of the first supval element used to store blob </td></tr>
    <tr><td class="paramname">tag</td><td>tag of supval array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>-1 if blob doesn't exist size of string (including terminating null) otherwise </dd></dl>

</div>
</div>
<a class="anchor" id="a34876bc4629bf260ea4271ee382aacf4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::setblob </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>_start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Store a blob in a netnode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>pointer to blob to save </td></tr>
    <tr><td class="paramname">size</td><td>size of blob in bytes </td></tr>
    <tr><td class="paramname">_start</td><td>index of the first supval element used to store blob </td></tr>
    <tr><td class="paramname">tag</td><td>tag of supval array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="a69d3953ab38655250e7f2d3e776964ca"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int netnode::delblob </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="netnode_8hpp.html#ae4a5f7a737957719414983a2dc804ac9">nodeidx_t</a>&#160;</td>
          <td class="paramname"><em>_start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a65f85814a8290f9797005d3b28e7e5fc">uchar</a>&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete a blob. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">_start</td><td>index of the first supval element used to store blob </td></tr>
    <tr><td class="paramname">tag</td><td>tag of supval array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of deleted supvals </dd></dl>

</div>
</div>
<a class="anchor" id="a1859569dc7330a3145478399d29ec379"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::start </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get first netnode in the graph. </p>
<p>Sets netnodenumber to the lowest existing number. </p><dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>ok </td></tr>
    <tr><td class="paramname">false</td><td>graph is empty </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af65bbe7b18f852f6be06013223af2157"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::end </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get last netnode in the graph. </p>
<p>Sets netnodenumber to the highest existing number. </p><dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>ok </td></tr>
    <tr><td class="paramname">false</td><td>graph is empty </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a988dbd86ebdc8fa249f6343c3ad729ae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::next </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get next netnode in the graph. </p>
<p>Sets netnodenumber to the next existing number </p><dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>ok </td></tr>
    <tr><td class="paramname">false</td><td>no more netnodes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5f92d582b6b8d492356204027238d5e7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool netnode::prev </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get prev netnode in the graph. </p>
<p>Sets netnodenumber to the previous existing number </p><dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>ok </td></tr>
    <tr><td class="paramname">false</td><td>no more netnodes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a6c982ef0a40d0d855ae2eef98aa6cbd8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> exist </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classnetnode.html">netnode</a> &amp;&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Does the specified netnode exist?. </p>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>there is some information attached to the netnode. </td></tr>
    <tr><td class="paramname">false</td><td>unnamed netnode without any information </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="netnode_8hpp.html">netnode.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
